#pragma once

#include "IOperation.h"

#include <boost/serialization/export.hpp>

namespace HotKeyOperation
  {
  class MsgBoxOperation : public IOperation
    {
    public:
      MsgBoxOperation(){};
      MsgBoxOperation(std::wstring & i_caption, std::wstring & i_text, 
        unsigned int i_delay_before = 0, unsigned int i_delay_after = 0);
      MsgBoxOperation(const wchar_t * i_caption, const wchar_t * i_text, 
        unsigned int i_delay_before = 0, unsigned int i_delay_after = 0);

    private:
      friend class boost::serialization::access;

      template <class Archive>
      void serialize(Archive & i_ar, const unsigned int i_version)
        {
        i_ar & boost::serialization::base_object<IOperation>(*this);
        i_ar & m_caption;
        i_ar & m_text;
        }

      virtual void DoOperate();

      std::wstring m_caption, m_text;
    };
  }


